/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.facade;

import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.ejb.Remote;
import javax.mail.MessagingException;
import javax.naming.NamingException;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
import suministros.ejb30.TO.*;
import suministros.ejb30.entity.AuxiliarCargarAsistenciaDiaria;
import suministros.ejb30.entity.ComprobantePago;
import suministros.ejb30.entity.DetalleOrden;
import suministros.ejb30.entity.DetallePedidoSuministro;
import suministros.ejb30.entity.DetallePedidoSuministroPK;
import suministros.ejb30.entity.DetallePlantillaImpuesto;
import suministros.ejb30.entity.Orden;
import suministros.ejb30.entity.Parametros;
import suministros.ejb30.entity.Pedido;
import suministros.ejb30.entity.Tipo;

/**
 *
 * @author Renato
 */
@Remote
public interface SumiAdministracionGestionFacadeRemote {
public  List<ZonaTO> getListaZonas()
    throws Exception;

  public  List<LocalidadTO> getListaLocalidadesZona(String paramString)
    throws Exception;

  public  List<LocalidadTO> getListaLocalidades()
    throws Exception;

  public  List<UnidadOrganizativaTO> getListaUnidOrganizativas()
    throws Exception;

  public  List<CentroCostoTO> getListaCentroCostos()
    throws Exception;

  public  List<CodPresupuestalTO> getListaCodPresupuestal()
    throws Exception;

  public  List<CuentaContableTO> getListaCtaCbles()
    throws Exception;

  public  List<CodigosInversionTO> getListaCodigoInversion()
    throws Exception;

  public  List<TipoTO> getListaTipos()
    throws Exception;

  public  List<Parametros> getListaParametros()
    throws Exception;

  public  boolean insertarPedido(String usuario, String mac, Pedido paramPedido, List<DetallePedidoSuministro> paramList)
    throws Exception;

  public String insertarPedidoAjusteInventario(String usuario, String mac,Pedido pedidoPrinc, List<DetallePedidoSuministro> listaDetalle)
          throws Exception ;
  public  List<SuministroTO> getListaSuministros()
    throws Exception;

  public  List<Parametros> getListaParametrosLike(String paramString)
    throws Exception;

  public  List<PedidoTO> getListaPedidos(String paramString1, String paramString2, String paramString3, String paramString4, String empresa)
    throws Exception;

  public  List<DetallePedidoSuministroTO> getListaDetallePedido(String paramString)
    throws Exception;

  public  List<AnoTO> getListaAnos()
    throws Exception;

  public  List<MesTO> getListaMeses()
    throws Exception;

  public  List eliminarPedido(String usuario, String mac, String paramString)
    throws Exception;

    List<ProyectoTO> getListaProyectos() throws Exception;

    List<NecesidadesSumiTO> getListaNecesidadesOperativas(String centro_costos, String ano, String empresa) throws Exception;

    List<NecesidadesSumiTO> getListaNecesidadesInversion(String cod_proy, String ano, String empresa) throws Exception;

    List<NecesidadesSumiDetalleTO> getListaDetalleNecesidadesLocalidadOperativo(String centro_costo, String ano, String empresa) throws Exception;

    List<NecesidadesSumiDetalleTO> getListaDetalleNecesidadesLocalidadInversion(String cod_proy, String ano, String empresa) throws Exception;

    boolean procesarRequerimientos(String usuario, String mac, List<NecesidadesSumiTO> listaTareas) throws Exception;

    boolean procesaDetalleRequerimientos(String usuario, String mac, List<NecesidadesSumiDetalleTO> listaTareas) throws Exception;

    public boolean insertarProveedor(suministros.ejb30.entity.Proveedor pro, suministros.ejb30.entity.Direccionnopersona dir) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DepartamentoTO> listaDepartamento() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.PaisTO> listaPais() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ProveedorTO> listaProveedor() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ProvinciaTO> listaProvincia(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DistritoTO> listaDistrito(java.lang.String codigo) throws java.lang.Exception;

    public suministros.ejb30.TO.ProveedorTO obtenerDatosProveedor(java.lang.String codigo) throws java.lang.Exception;

    public boolean modificarProveedor(suministros.ejb30.entity.Proveedor pro, suministros.ejb30.entity.Direccionnopersona dir) throws java.lang.Exception;

    public boolean eliminarProveedor(java.lang.String codigo) throws java.lang.Exception;

    public suministros.ejb30.TO.OrdenTO obtenerDatosOrden(java.lang.String codigo) throws java.lang.Exception;

    public String insertarNotaIngreso(String usuario, String mac,suministros.ejb30.entity.Movimiento mov, java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento, int codigoTemporal, int tioper) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.PedidoTO> getListaPedidos(String empresa) throws java.lang.Exception;
    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> getDatosDetalleOrden(String codigo) throws java.lang.Exception;
    

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> getDatosDetalleOrdenSumados(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.AlmacenTO> getListaAlmacenes() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SubAlmacenTO> getListaSubAlmacenes() throws java.lang.Exception;

    List<DetalleOrdenTO> getListaDetallePedidoOrden(String cod_pedido) throws Exception;

    List<AlmacenTO> getListaAlmacenesPorZona(String cod_zona) throws Exception;

    List<SubAlmacenTO> getListaSubAlmacenesPorAlmacen(String cod_almacen) throws Exception;

    public java.util.List<suministros.ejb30.TO.DetalleIngresoTO> getDatosDetalleIngresoUbicacionSumados(java.lang.String codigo) throws java.lang.Exception;

    public suministros.ejb30.TO.MovimientoTO obtenerMovimiento(java.lang.String codigo);

    String insertarOrden(Orden orden, List<DetalleOrden> detalle) throws Exception;

    List<PedidoTO> getPedidosPorTipoOrden(List<ZonaTO> zonas_usuario,String id_empresa) throws Exception;

    List<DetallePedidoSuministroTO> getListaDetallesPedidoAll() throws Exception;

    List<DetallePedidoSuministroTO> getListaDetallePedidosParaOrden(List<ZonaTO> zonas_usuario,String id_empresa)throws Exception;

    List<DetalleOrdenTO> getListaDetallePedidoOrden(DetallePedidoSuministroPK pk_detalle_pedido) throws Exception;

    public suministros.ejb30.TO.PedidoTO getDatosPedido(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> getListaDetallePedidoSuministroIn(java.lang.String cod_pedido, int tipo_admin, int tipo) throws java.lang.Exception;

    public String insertarSalida(String usuario, String mac,suministros.ejb30.entity.Movimiento mov, java.util.List<suministros.ejb30.entity.DetalleMovimiento> listadetalleOr) throws java.lang.Exception;

     public JasperPrint generarReporte(String reporte, Map parametros ) throws SQLException, JRException;

    public net.sf.jasperreports.engine.JasperPrint generarReporteIngreso(java.lang.String reporte, java.util.Map parametros) throws java.sql.SQLException, net.sf.jasperreports.engine.JRException;

    public net.sf.jasperreports.engine.JasperPrint generarReporteSalida(java.lang.String reporte, java.util.Map parametros) throws java.sql.SQLException, net.sf.jasperreports.engine.JRException;

    List<PedidoTO> getListaPedidosNoAtendidos(String cod_zona, String id_empresa) throws Exception;

    boolean rechazarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception;

    boolean aceptarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception;

    public suministros.ejb30.entity.Movimiento obtenerIngreso(java.lang.String codigo);

    public List<PedidoTO> getListaPedidosInversion(String cod_proyec, String zonal, String ano, String mes) throws Exception ;

    public java.util.List<suministros.ejb30.TO.DetalleIngresoTO> getDatosDetalleIngresoUbicacionSumados2(java.lang.String codigo) throws java.lang.Exception;

    OrdenTO isExisteOrden(String nro_orden) throws Exception;

    public java.lang.Boolean insertarLicitacion(String usuario, String mac,suministros.ejb30.entity.Licitacion lic, java.util.List<suministros.ejb30.entity.DetalleLicitacion> detalleLicitacion) throws java.lang.Exception;

    boolean insertarComprobanteDeOrden(ComprobantePago comprobante, String cod_orden) throws Exception;

    public  java.util.List<suministros.ejb30.TO.LicitacionTO> getDatosLicitacionCodigo(java.lang.String codigo,boolean estado,java.lang.String empresa) throws java.lang.Exception;

    public  java.util.List<suministros.ejb30.TO.LicitacionTO> getDatosLicitacionAno(java.lang.String ano,boolean estado,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.LicitacionTO> getDatosLicitacionProveedor(java.lang.String proveedor,boolean estado,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.LicitacionTO> getDatosLicitacionProveedorAno(java.lang.String proveedor, java.lang.String ano,boolean estado,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleLicitacionTO> getDatosLicitacionDetalles(java.lang.String codigo) throws java.lang.Exception;

    public boolean modificarLicitacion(String usuario, String mac,suministros.ejb30.TO.LicitacionTO lic, java.util.List<suministros.ejb30.entity.DetalleLicitacion> detalleLicitacion, java.util.List<suministros.ejb30.entity.DetalleLicitacion> detalleLicitacionAgregar, java.util.List<suministros.ejb30.entity.DetalleLicitacion> detalleLicitacionEliminar) throws java.lang.Exception;

    public boolean eliminarLicitacion(java.lang.String codigo) throws java.lang.Exception;

    List<DetalleImpuestoTO> retornarDetallesDeImpuesto(int plantilla, BigDecimal monto) throws Exception;

    public java.lang.Boolean insertarLicitacionActividad(String usuario, String mac,java.util.List<suministros.ejb30.entity.DetalleLicitacionActividad> detalleLicitacion, java.math.BigDecimal montoTotal) throws java.lang.Exception;

    public boolean verificarActividades(java.lang.String codigo, java.lang.String suministro);

    List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(String cod_pedido) throws Exception;

    void enviarEMailSimple(String email, String asunto, String mensaje) throws NamingException, MessagingException;

    public void aprobarRequerrimientos(String usuario, String mac,java.util.List<suministros.ejb30.TO.NecesidadesSumiDetalleTO> listaGeneral, java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> generalNecesidades) throws java.lang.Exception;

    List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(DetallePedidoSuministroPK detalle_pedido) throws Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesOperativasAp(java.lang.String centro_costos, java.lang.String ano,java.lang.String empresa, String zona) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesInversionAp(java.lang.String cod_proy, java.lang.String ano,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesOperativasMod(java.lang.String centro_costos, java.lang.String ano,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesInversionMod(java.lang.String cod_proy, java.lang.String ano,java.lang.String empresa) throws java.lang.Exception;

    List<LicitacionActividadTO> getActividadesPorLicitacionEspecifica(String id_licitacion, String id_suministro) throws Exception;

    public java.lang.String insertarTransferencia(String usuario, String mac,java.util.List<suministros.ejb30.entity.DetalleTransferencia> detalles, suministros.ejb30.entity.Transferencia tra) throws java.lang.Exception;

    public suministros.ejb30.TO.TransferenciaTO getDatosTransferencia(java.lang.String codigo, int tipo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleTransferenciaTO> getDatosDetalleTransferencia(java.lang.String codigo) throws java.lang.Exception;

    public java.lang.String insertarSalidaTran(String usuario, String mac,suministros.ejb30.entity.Movimiento mov, java.util.List<suministros.ejb30.TO.DetalleTransferenciaTO> listadetalleOr) throws java.lang.Exception;

    List<DetalleSolicitudCotizacionTO> getListaDetallePedidoSuministroSolicitudCotizacion(String cod_pedido) throws Exception;

    public java.util.List<suministros.ejb30.TO.IngresoTO> getDatosMovimiento(java.lang.String codigo, int tipo, int opcion, java.lang.String proy, java.lang.String unid, int tipoIn,java.lang.String empresa,String anio, int mes,int pag, int tamaño) throws Exception;

    public java.lang.String insertarSolicitudCotizacion(suministros.ejb30.entity.SolicitudCotizacion solicitud, java.util.List<suministros.ejb30.entity.DetalleSolicitudCotizacion> detalle_solicitud) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ProveedorTO> buscaSolicitud(java.lang.String nro_solicitud, String id_empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleSolicitudCotizacionTO> getDetallesSolicitud(java.lang.String ruc_proveedor, java.lang.String nro_solicitud) throws java.lang.Exception;

    public boolean registrarCotizacion(java.lang.String ruc_proveedor, java.lang.String nro_solicitud, java.util.List<suministros.ejb30.TO.DetalleSolicitudCotizacionTO> detalles_solicitud,Tipo forma_pago, Tipo impuesto, Tipo moneda) throws java.lang.Exception;

    public boolean estableceGanador(List<DetalleSolicitudCotizacionTO> detalle_solicitud, String nro_solicitud, String proveedor) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleSolicitudCotizacionTO> getListaDetallePedidoSuministroSolicitudCotizacion(java.lang.String cod_pedido, java.lang.String cod_sumi) throws java.lang.Exception;

     public List<SolicitudCotizacionTO> getListaCotizacionesAprobadas() throws Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> getListaDetallesPedidoOrdenCotizacion(java.lang.String nro_solicitud, String proveedor) throws java.lang.Exception;

    public suministros.ejb30.TO.SolicitudCotizacionTO getSolicitudCotizacion(java.lang.String nro_solicitud) throws java.lang.Exception;

    public boolean bajaSolicitud(java.lang.String nro_solicitud) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> consultarOrden(suministros.ejb30.TO.ParametrosConsultaTO parametros, int tipo_orden,int pagActual, int pagTamanno) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroStockTO> getStockSuministro(java.lang.String id_suministro, String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ComprobantePagoTO> consultarComprobante(suministros.ejb30.TO.ParametrosConsultaTO parametros,int pagActual, int pagTamanno) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SolicitudCotizacionTO> consultarCotizacion(suministros.ejb30.TO.ParametrosConsultaTO parametros,int pagActual, int pagTamanno) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleTransferenciaTO> getDatosDetalleTransferenciaStock(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.PedidoTO> getPedidosPorTipoOrdenServicio(java.util.List<suministros.ejb30.TO.ZonaTO> zonas_usuario) throws java.lang.Exception;

    public boolean anularOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public java.lang.Boolean modificarActividades(String usuario, String mac,java.util.List<suministros.ejb30.entity.DetalleLicitacionActividad> detalleActividades, java.util.List<suministros.ejb30.entity.DetalleLicitacionActividad> detalleActividadesagregar, java.math.BigDecimal montoTotal) throws java.lang.Exception;

    public boolean anularLicitacion(String usuario, String mac,java.lang.String codigo,java.lang.String documento) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> getListaDetalleOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public BigDecimal verificarDisponibilidadSuministro(String codigo, boolean es_inversion,String loca,String ano,String mes,String id_sumi, String empresa) throws Exception ;
    public boolean modificarOrden(suministros.ejb30.entity.Orden orden, java.util.List<DetalleOrden> detalles) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.EmpresaTO> obtenerEmpresas() throws java.lang.Exception;

    public suministros.ejb30.TO.SuministroTO getSuministroEmpresa(java.lang.String codigo, java.lang.String empresa) throws java.lang.Exception;

    public byte[] getComprobanteArchivo(int id_comprobante) throws java.lang.Exception;

    public suministros.ejb30.TO.StockAlmacenTO getStockSuministroUbicacion(java.lang.String codigo, java.lang.String subalmacen, java.lang.String empresa) throws java.lang.Exception;

    public java.lang.Boolean registrarStockAlmacen(java.lang.String usuario, java.lang.String mac, suministros.ejb30.entity.StockAlmacen stock, int estado) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.StockAlmacenTO> getStockConsultar(java.lang.String suministro, java.lang.String subalmacen, java.lang.String empresa, int tipo);

    public java.util.List<suministros.ejb30.TO.AnoTO> getParametrosKardex() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleIngresoTO> getDatosBusquedaSensitivaIngreso(String empresa) throws java.lang.Exception;
    

    public boolean insertarEmpresa(suministros.ejb30.entity.Empresa emp) throws java.lang.Exception;

    public byte[] getLogoEmpresa(java.lang.String id_empresa) throws java.lang.Exception;

    public boolean insertarAlertas(java.util.List<suministros.ejb30.entity.Alertas> alertas) throws java.lang.Exception;

    public void generarAlertas() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.AlertaTO> obtenerAlertas(java.util.List<suministros.ejb30.TO.EmpresaTO> empresas, java.util.List<suministros.ejb30.TO.ZonaTO> zonas, java.util.List<suministros.ejb30.TO.SistemaTO> sistemas) throws java.lang.Exception;

    public boolean actualizarEmpresa(suministros.ejb30.entity.Empresa emp) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SolicitudCotizacionTO> getListaCotizacionesEnEspera(String id_empresa) throws java.lang.Exception;

    public boolean generaDocumentoAEmail(java.lang.String nro_orden, int tipo, java.lang.String cod_proveedor) throws suministros.ejb30.helper.EmailVacioException, java.lang.Exception;

    public int obtenerAlertasTamaño(java.util.List<suministros.ejb30.TO.EmpresaTO> empresas, java.util.List<suministros.ejb30.TO.ZonaTO> zonas, java.util.List<suministros.ejb30.TO.SistemaTO> sistemas) throws java.lang.Exception;

    public java.lang.String iniciarInventario(suministros.ejb30.entity.Inventario inv) throws java.lang.Exception;

    public suministros.ejb30.TO.InventarioTO getDatosInventario() throws java.lang.Exception;

    public java.lang.Boolean registrarStock(java.util.List<suministros.ejb30.TO.DetalleInventarioTO> listainv) throws java.lang.Exception;

    public int iniciaConfiguracionInventario(int pagTamanno);

    public int siguienteInventario();

    public int anteriorInventario();

    public int siguienteTodoInventario();

    public int anteriorTodoInventario();

    public java.lang.String insertarSalidaInventario(java.lang.String usuario, java.lang.String mac, suministros.ejb30.entity.Movimiento mov, java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento,String inventario) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleIngresoTO> getDatosBusquedaSensitivaIngresoInventario(java.lang.String empresa) throws java.lang.Exception;


    public int getNumeroDeOrdenes(ParametrosConsultaTO parametros, int tipo_orden) throws Exception;

    public int getNumeroDeComprobantes(ParametrosConsultaTO parametros) throws Exception;

    public int getNumeroDeCotizaciones(ParametrosConsultaTO parametros) throws Exception;

    public java.util.List<suministros.ejb30.TO.DetalleInventarioTO> getListaDetalleInventario(java.lang.String empresa,String inventario);

    public java.lang.String insertarNotaIngresoInventario(java.lang.String usuario, java.lang.String mac, suministros.ejb30.entity.Movimiento mov, java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento, java.lang.String inventario) throws java.lang.Exception;

    public java.lang.Boolean terminarInventario(suministros.ejb30.entity.Inventario inv) throws java.lang.Exception;

    public  java.util.List<suministros.ejb30.TO.TransferenciaTO>  obtenerCodigos(int tipoConsulta) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> getOrdenesSinComprobante(java.util.List<suministros.ejb30.TO.ZonaTO> zonas_usuario, java.lang.String id_empresa) throws java.lang.Exception;

    public boolean insertarEncargo(suministros.ejb30.entity.Encargo encargo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.EncargoTO> consultarEncargo(suministros.ejb30.TO.ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws java.lang.Exception;

    public byte[] getEncargoArchivo(int id_encargo) throws java.lang.Exception;

    public int getNumeroDeEncargos(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.FlujoPedidoTO> getFlujoPedido(java.lang.String cod_pedido) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ReservaSuministroTO> getReservasSuministros(java.lang.String id_empresa) throws java.lang.Exception;

    public java.lang.Boolean guardarPrecioRequerrimientos(java.util.List<suministros.ejb30.TO.SuministroTO> listasuministro) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getDatosSuministroEmpresaRequeridos(java.lang.String empresa,java.lang.String  zona) throws java.lang.Exception;

    public java.lang.Boolean verificarFechasAprobarRequerrimientos() throws java.lang.Exception;

    public java.lang.Boolean verificarFechasHacerRequerrimientos() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> getListaUnidOrganizativasNecesidad(java.lang.String anio, java.lang.String cod_uni_depend) throws java.lang.Exception;

    public boolean aprobarRequermientosJefatura(java.lang.String anio, java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> unidades) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getDatosServicioEmpresaRequeridos(java.lang.String empresa, java.lang.String zona, java.lang.String ccosto) throws java.lang.Exception;

    public java.lang.Boolean guardarPrecioRequerrimientosServicio(java.util.List<suministros.ejb30.TO.SuministroTO> listasuministro, java.lang.String ccosto) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesOperativasModZona(java.lang.String centro_costo, java.lang.String ano, java.lang.String empresa, java.lang.String zona) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> verificarAprobacionDependencias(java.lang.String unidad_organizativa) throws java.lang.Exception;

    public java.lang.String verificaDetalleOrdenEnPresupuesto(java.util.List<suministros.ejb30.TO.DetalleOrdenTO> detalle_orden, int mes) throws java.lang.Exception;

    public java.lang.String insertarSuministro(suministros.ejb30.entity.Suministros sumi) throws java.lang.Exception;

    public java.lang.String insertarGrupoSuministro(suministros.ejb30.entity.GrupoSuministros sumi) throws java.lang.Exception;

    public java.lang.String administrarSuministro(suministros.ejb30.entity.Suministros sumi) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getListaSuministrosConsultar(java.lang.String codigo, int tipo, int pagActual, int pagTamanno) throws java.lang.Exception;

    public java.lang.String administrarGrupo(suministros.ejb30.entity.GrupoSuministros grupo) throws java.lang.Exception;
   
    public int getListaGruposConsultarTamaño(java.lang.String codigo, int tipo) throws java.lang.Exception;

    public int getListaSuministrosConsultarTamaño(java.lang.String codigo, int tipo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGruposConsultar(java.lang.String codigo, int tipo, int pagActual, int pagTamanno) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getSuministroAdministrar(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGrupoSuministrosAdministrar(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.CasillaSuministroTO> obtenerCasillasSuministro(java.lang.String suministro, java.lang.String empresa);

    public void insertarSuministroCasilla(java.util.List<suministros.ejb30.entity.CasillaSuministro> sumicasillas) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGrupoSuministros() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGrupoSuministrosPadre() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> getListaUnidOrganizativasDependencias() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.AreaTO> getListaAreas() throws java.lang.Exception;

    public boolean modificarComprobanteArchivo(int id_comprobante, byte[] archivo)throws Exception;

    public java.lang.String insertarUnidadOrganizativa(suministros.ejb30.entity.UnidadOrganizativa unidad) throws java.lang.Exception;

     public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> listarOrdenesSuministros(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> listarOrdenesProveedores(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> listarOrdenesTotales(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> listarOrdenesCuentas(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> listarMovimientosSuministros(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> listarMovimientosProveedores(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> listarMovimientosTotales(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> listarMovimientoCuentas(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ComprobantePagoTO> getComprobantesOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public boolean insertarNotaIngresoFicticio(java.util.List<suministros.ejb30.entity.DetalleMovimientoTemporal> detalleMovimiento) throws java.lang.Exception;

      public java.util.List<suministros.ejb30.TO.RegularizacionMovimientoTO> getMovimientosRegularizar(java.lang.String cod_proveedor) throws java.lang.Exception;

    public boolean regularizaMovimientos(java.util.List<suministros.ejb30.TO.RegularizacionMovimientoTO> lista,String nro_orden) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTemporalTO> getListaMovimientoTemporal(java.lang.String ubicacion, java.lang.String empresa, java.lang.String ruc) throws java.lang.Exception;

    public boolean cerrarMes() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.TipoTO> getListaTiposTabla(java.lang.String tabla) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.TipoTablaTO> getComboTablaTipo() throws java.lang.Exception;

    public boolean insertarTipo(suministros.ejb30.TO.TipoTO tipoto) throws java.lang.Exception;

    public java.lang.String eliminarMovimiento(java.lang.String movimiento) throws java.lang.Exception;

    public boolean eliminarTipo(suministros.ejb30.TO.TipoTO tipoto) throws java.lang.Exception;

    public boolean eliminarSuministros(suministros.ejb30.entity.Suministros sumi) throws java.lang.Exception;

     public void insertarAlmacen(suministros.ejb30.entity.Almacen alm) throws java.lang.Exception;

    public void insertarSubAlmacen(suministros.ejb30.entity.SubAlmacen sualm) throws java.lang.Exception;

    public void insertarZona(suministros.ejb30.entity.Zona zona) throws java.lang.Exception;

    public void modificarZona(suministros.ejb30.TO.ZonaTO zona) throws java.lang.Exception;

    public void modificarAlmacen(suministros.ejb30.TO.AlmacenTO almacen) throws java.lang.Exception;

    public void modificarUbicacion(suministros.ejb30.TO.SubAlmacenTO subalmacen) throws java.lang.Exception;

    public suministros.ejb30.entity.Parametros modificarParametro(suministros.ejb30.entity.Parametros para) throws java.lang.Exception;

    public java.lang.String insertarCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception;

    public java.lang.String modificarCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception;

    public java.lang.String insertarHistorialCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception;

    public boolean insertarusuarioRol(suministros.ejb30.entity.HistorialCargos detallesa, suministros.ejb30.entity.HistorialCargos detallese) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleUsuarioCargoTO> obtenerDetalleUsuarioCargo(java.lang.String codigo);

    public java.util.List<suministros.ejb30.TO.CargoTO> getListaCargos() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ProveedorTO> listaCosechador();

    public java.util.List<suministros.ejb30.TO.SuministroTO> getListaSuministrosMateriaPrima() throws java.lang.Exception;

    public java.lang.String insertarIngresoCarga(suministros.ejb30.entity.Movimiento mov, suministros.ejb30.entity.DetalleMovimiento detalle, int tipo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.Asistencia> getAsistenciaDiaria(java.lang.String fecha,int area) throws java.lang.Exception;

    public boolean insertaAsistencias(java.util.List<suministros.ejb30.entity.Asistencia> asistencia, Integer area) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.ElementoCosto> getListaElementoCosto() throws java.lang.Exception;

    public boolean insertaCosteoDiario(suministros.ejb30.entity.CosteoDiario costeo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.CosteoDiario> getCosteoDiario() throws java.lang.Exception;

    public suministros.ejb30.TO.MovimientoTO getMovimientoModificar(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> getDetallesMovimientoModificar(java.lang.String codigo) throws java.lang.Exception;

    public void modificarIngresoCarga(java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento) throws java.lang.Exception;

    public int getDatosMovimientoTamaño(java.lang.String codigo, int tipo, int opcion, java.lang.String proy, java.lang.String unid, int tipoIn, java.lang.String empresa, java.lang.String anio, int mes) throws java.lang.Exception;

     public boolean insertaTipoCambioDiario(suministros.ejb30.entity.TipoCambioDiario cambio) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.TipoCambioDiario> getTipoCambioDiario(String anio, String mes) throws java.lang.Exception;

    public void eliminarIngresoCarga(java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento) throws java.lang.Exception;

    public suministros.ejb30.entity.Persona getPersona(java.lang.String codigo) throws java.lang.Exception;

    public suministros.ejb30.entity.Trabajador getTrabajador(java.lang.String codigo) throws java.lang.Exception;

    public boolean insertaTrabajadorPersona(suministros.ejb30.entity.Trabajador trabajador, suministros.ejb30.entity.Persona persona) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.TipoTrabajador> getListaTipoTrabajador() throws java.lang.Exception;

    public suministros.ejb30.entity.TipoCambioDiario getTipoCambio(java.lang.String fecha) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.AreaEmpresa> getListaAreaEmpresa() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.CargoEmpresa> getListaCargoEmpresa() throws java.lang.Exception;

    public suministros.ejb30.entity.AreaEmpresa getAreaEmpresa(int codigo) throws java.lang.Exception;

    public suministros.ejb30.entity.CargoEmpresa getCargoEmpresa(int codigo) throws java.lang.Exception;

    public boolean insertaArea(suministros.ejb30.entity.AreaEmpresa area) throws java.lang.Exception;

    public boolean insertaCargo(suministros.ejb30.entity.CargoEmpresa cargo) throws java.lang.Exception;

    public suministros.ejb30.entity.ProveedorSuministro getDatosProveedorSuministro(suministros.ejb30.entity.ProveedorSuministro sumi) throws java.lang.Exception;

    public boolean registrarProveedorSuministro(suministros.ejb30.entity.ProveedorSuministro sumi) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ProveedorSuministroTO> listaProveedorSuministro();

    public void ajustarIngresoCarga(java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento) throws java.lang.Exception;

    public void ajustarIngresoTodos(java.util.List<suministros.ejb30.entity.DetalleMovimiento> detalleMovimiento) throws java.lang.Exception;

    public void ajustarIngresoSuministro(java.lang.String codigo, java.lang.String ano, java.lang.String mes) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> getDetallesMovimientoAjustar(java.lang.String anio, java.lang.String mes) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.entity.CosteoDiario> getCosteoDiarioFechas(Date fecha_ini,Date fecha_fin) throws java.lang.Exception;

     public java.util.List<suministros.ejb30.TO.DiasPagoMesTO> getPagoMes(java.lang.String anio, java.lang.String mes, java.lang.String dni) throws java.lang.Exception;

    public boolean actualizarPagoMes(java.util.List<suministros.ejb30.TO.DiasPagoMesTO> lista) throws java.lang.Exception;

    public java.math.BigDecimal getMontoImpuesto(java.lang.Integer tipo_plantilla, java.math.BigDecimal sub_total) throws java.lang.Exception;

    public boolean eliminaCosteoDiario(int id_costeo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ElementoCostoTO> getListaElementosCosto() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.TipoTO> getConsultarTipoCambioComprobante(java.lang.Integer orden) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ImpuestoTO> getListaImpuestos() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ComprobantePagoTO> getDatosOrdenComprobante(java.lang.String codigo) throws java.lang.Exception;

    public void ajustarIngreso(java.lang.String ano, java.lang.String mes) throws java.lang.Exception;

    public boolean eliminaImpuesto(int id_impuesto) throws java.lang.Exception;

    public boolean operaImpuesto(suministros.ejb30.entity.Impuesto impuesto,DetallePlantillaImpuesto dpi) throws java.lang.Exception;

    List<AuxiliarCargarAsistenciaDiaria> insertarAsistenciaMigracion(List<AuxiliarCargarAsistenciaDiaria> listaAsistencias) throws Exception;

    List<AsistenciaTO> getAsistenciaEntreFechas(String finicio, String ffin) throws Exception;

    public boolean finalizarOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public boolean eliminaElementoCosto(java.lang.String id) throws java.lang.Exception;

    public boolean operaElementoCosto(suministros.ejb30.entity.ElementoCosto elemento) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.AnoTO> getListaAnosCambio() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.MesTO> getListaMesCambio() throws java.lang.Exception;

    public boolean modificaComprobante(suministros.ejb30.TO.ComprobantePagoTO comprobante) throws java.lang.Exception;



}

